#ifndef NOTIFICATIONSMOVER_H
#define NOTIFICATIONSMOVER_H

#include <QPointer>
#include <QThread>
#include <QTimer>

class Notification;


class NotificationsMover : public QThread
{
    Q_OBJECT
public:
    explicit NotificationsMover (const int& height, const QList<Notification*>& notifications, QObject* parent = 0);

public slots:
    void widgetMoved();
    void quitRequest();

protected:
    void run();

private:
    void beginMovingWidgets();

    int shiftHeight;
    const QList<Notification*>& notifications;
    QPointer<QTimer> moveTimer;
    int shiftValue;
    int waitValue;

private slots:
    void moveWidgets();

signals:
    void move (int, int);
};


#endif // NOTIFICATIONSMOVER_H
